package com.ruoyi.merchant.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 菜品审核对象 dish_audit
 */
@Data
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MerchantDishAudit extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 审核记录ID */
    private Long auditId;

    /** 商家ID */
    @Excel(name = "商家ID")
    private Long merchantId;

    /** 菜品ID（审核通过后关联） */
    @Excel(name = "菜品ID")
    private Long dishId;

    /** 菜品名称 */
    @Excel(name = "菜品名称")
    private String dishName;

    /** 菜品分类ID */
    @Excel(name = "分类ID")
    private Long categoryId;

    /** 菜品价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 菜品描述 */
    @Excel(name = "描述")
    private String description;

    /** 菜品图片URL */
    @Excel(name = "图片URL")
    private String imageUrl;

    /** 审核状态（0待审核 1审核通过 2审核拒绝） */
    @Excel(name = "审核状态", readConverterExp = "0=待审核,1=审核通过,2=审核拒绝")
    private String auditStatus;

    /** 审核人ID */
    private Long auditorId;

    /** 审核人姓名 */
    @Excel(name = "审核人")
    private String auditorName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /** 审核备注 */
    @Excel(name = "审核备注")
    private String auditRemark;

    /** 拒绝原因 */
    @Excel(name = "拒绝原因")
    private String rejectReason;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applicationTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 菜品规格（JSON格式） */
    private String dishSpecs;

    /** 菜品标签 */
    @Excel(name = "标签")
    private String dishTags;

    /** 是否推荐（0否 1是） */
    @Excel(name = "是否推荐", readConverterExp = "0=否,1=是")
    private String isRecommended;

    /** 库存数量 */
    @Excel(name = "库存")
    private Integer stockQuantity;

    /** 销量 */
    @Excel(name = "销量")
    private Integer salesCount;

    /** 菜品状态（0停售 1在售） */
    @Excel(name = "状态", readConverterExp = "0=停售,1=在售")
    private String dishStatus;

    /** 商家名称 */
    @Excel(name = "商家名称")
    private String merchantName;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;
}
